Refactoring for Asynchronous Execution on Mobile
نویسنده
چکیده
To improve responsiveness, oftentimes developers use asynchronous programming. In the post-PC era, asynchronous programming is even more in demand because mobile and wearable devices have limited resources and access the network excessively. One contemporary development task is refactoring long-running, blocking synchronous code (e.g., accessing the web, cloud, database, or file system) into nonblocking asynchronous code. This paper educates the mobile app developer on the kinds of refactorings they need to perform to improve responsiveness, along with the obstacles of using asynchrony. We also present our formative studies on understanding the challenges that developers face when retrofitting asynchrony, our program analyses and transformations together with our growing, practical toolset and resources that enable app developers to retrofit asynchrony.
منابع مشابه
Study and Refactoring of Android Asynchronous Programming
To avoid unresponsiveness, a core part of mobile development is asynchronous programming. Android provides several async constructs that developers can use. However, developers can still use the inappropriate async constructs, which result in memory leaks, lost results, and wasted energy. Fortunately, refactoring tools can eliminate these problems by transforming async code to use the appropria...
متن کاملAsynchronous migration of execution context in Java Virtual Machines
The migration of the execution context has been applied to remote execution and mobile agents, and asynchronous migration can be applied to even more applications, such as load balancing. We have therefore designed a system for the migration of Java threads, one that allows asynchronous and heterogeneous migration of the execution context of the running code. This paper describes an overview of...
متن کاملInterleaving planning and robot execution for asynchronous user requests
Rogue is an architecture built on a real robot which provides algorithms for the integration of highlevel planning, low-level robotic execution, and learning. Rogue addresses successfully several of the challenges of a dynamic o ce gopher environment. This article presents the techniques for the integration of planning and execution. Rogue uses and extends a classical planning algorithm to crea...
متن کاملCharacterizing and refactoring asynchronous JavaScript callbacks
Modern web applications make extensive use of JavaScript, which is now estimated to be one of the most widely used languages in the world. Callbacks are a popular language feature in JavaScript. However, they are also a source of comprehension and maintainability issues. We studied several features of callback usage across a large number of JavaScript applications and found out that over 43% of...
متن کاملInterleaving Planning and Robot Executionfor Asynchronous User
Rogue is an architecture built on a real robot which provides algorithms for the integration of high-level planning, low-level robotic execution, and learning. Rogue addresses successfully several of the challenges of a dynamic ooce gopher environment. This article presents the techniques for the integration of planning and execution. Rogue uses and extends a classical planning algorithm to cre...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015